United States of America Computing Olympiad
The United States of America Computing Olympiad (USACO) is a Computer programming competition aimed primarily at secondary school students in the United States. Participants of the USACO submit programs in one of four languages, C (programming language), C++, Java (programming language), and Pascal (programming language), to various competitions held throughout the year. There are currently three divisions of the USACO: Bronze (easiest but requires some programming ability), Silver, and Gold (hardest). Participants advance through the divisions by performing well in their current division, or in a qualifying round which is usually held in November. The USACO was founded in 1993 by Don Piele and is currently maintained by head coach Rob Kolstad. Parts of the USACO The Training Pages The USACO contains several training pages on its Website which are designed to develop one's skills in programming solutions to difficult and varied algorithmic problems at one's own pace. In addition to around 100 problems, there are texts on programming techniques such as greedy algorithms, Dynamic programming, shortest path, and many others. Enthusiasts find the training pages so useful that people from other countries use them to prepare for their own national Olympiads; those from other countries in fact outnumber U.S. participants. The Internet competitions There are six Internet competitions held each year, each of which consists of three or four problems to be completed in a time span of three hours. These competitions are unproctored; however they are monitored strictly and users caught attempting to cheat are banned for life. In addition to testing solutions based on correctness of answers, additional restrictions include Runtime and memory usage. Scores are computed based on number of correct answers, with Weighted values; harder problems and test cases are given more weight than easier ones. Overall these contests are designed to be very hard, and as such have a low average score compared to other programming competitions. This way, the top scorers can be more easily distinguished. US Open In addition to the six internet competitions, a seventh competition called the US Open is held annually in late Spring. The competition is touted as 'the USACO's flagship tournament' and is a four-hour proctored competition consisting of three or four questions. Like the internet competitions, the US Open is divided based on divisions, from Level 1 to Gold. The US Open is similar in difficulty to the Internet competitions and is scored in the same manner. Performance in the US Open is one of the key elements in determining the invitees to the USACO training camp, although a solid performance in the internet competitions also plays a major role. The Training Camp The USACO training camp is a week-long program held to determine which four students will represent the American team at the International Olympiad in Informatics (IOI). Around 15 people are invited to the camp, which is usually held in late May or early June in Colorado Springs, Colorado Springs or Racine, Wisconsin. To qualify, one must be a secondary school student in the U.S., have scored highly on the Internet contests and/or the US Open, and be far along in the training pages. At the camp, contests are held in the morning, followed by discussion of solutions. In the afternoon, the students engage in various recreational activities. There are also a few lectures on different areas of computer science and programming. At the conclusion of the camp, there is a Ceremony recognizing the participants, and in particular those who are selected for the delegation to the IOI. See also * Central European Olympiad in Informatics * International Olympiad in Informatics * International science olympiad * Canadian computing competition External links * The USACO homepage * The USACO training pages * The USACO contest gate * The unofficial IOI homepage Category:Programming contests